package com.zrf.gulimall.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zrf.gulimall.common.database.utils.PageUtils;
import com.zrf.gulimall.product.entity.CategoryEntity;
import com.zrf.gulimall.product.vo.web.Catelog2Vo;

import java.util.List;
import java.util.Map;

/**
 * 商品三级分类
 *
 * @author zrf
 * @email 120662332@qq.com
 * @date 2021-01-23 16:07:19
 */
public interface CategoryService extends IService<CategoryEntity> {

	/**
	 * 分页查询
	 *
	 * @param params 请求参数
	 * @return
	 */
	PageUtils queryPage(Map<String, Object> params);

	/**
	 * 查询树形目录
	 *
	 * @return 目录
	 */
	List<CategoryEntity> listWithTree();

	/**
	 * 根据品牌id查询关联的分类
	 *
	 * @param brandId 品牌id
	 * @return
	 */
	List<CategoryEntity> queryByBrandId(Long brandId);

	/**
	 * 根据id删除目录
	 *
	 * @param asList id集合
	 */
	void removeMenuByIds(List<Long> asList);

	/**
	 * @param catelogId
	 * @return
	 */
	Long[] findCatelogPath(Long catelogId);

	/**
	 * 更新数据
	 *
	 * @param category
	 */
	void updateDetails(CategoryEntity category);

	/**
	 * 获取一级分类
	 * @return
	 */
	List<CategoryEntity> getLevel1Category();

	/**
	 * 获取分类的json
	 * @return
	 */
	Map<String, List<Catelog2Vo>> getCatalogJson();
}

